import java.util.Scanner;

class Parachutiste {

    private static Scanner clavier = new Scanner(System.in);

    public static void main(String[] args) {

        double masse = 80.0;
        do {
            System.out.print("masse du parachutiste (>= 40) ? ");
            masse = clavier.nextDouble();
        } while (masse < 40.0);

        double h0 = 39000.0;
        do {
            System.out.print("hauteur de depart du parachutiste (>= 250) ? ");
            h0 = clavier.nextInt();
        } while (h0 < 250.0);
        
    
        /*******************************************
         * Completez le programme a partir d'ici.
         *******************************************/
        final double g = 9.81;
        double surface = 2.0;
        double v0 = 0;
        double t0 = 0;
        double hauteur = h0;
        double vitesse = v0;
        double accel = g;
        double t = t0;
        double s = surface/masse;
        double q = Math.exp(-s * (t - t0));
        vitesse = (g / s) * (1 - q) + (v0 * q);
        hauteur = h0 - (g / s) * (t - t0) - ((v0 - g / s) / s) * (1 - q);
        accel = g - s * vitesse;
        double vitesseDuSon = 343.0;
        boolean aFelixDepasse = true;
        boolean estFelixMaximale = true;
        boolean parachuteOuverte = true;
        double momentDelOuverture = 0;
        
	    System.out.format("%.0f, %.4f, %.4f, %.5f\n",
                  t, hauteur, vitesse, accel);
	   // t++;
	
        //System.out.println("## Felix ouvre son parachute");
        while(hauteur > 0){
    	  if(hauteur> 2500.0){
            		t++;
            		q = Math.exp(-s * (t - t0));
            		vitesse = (g / s) * (1 - q) + (v0 * q);
            		hauteur = h0 - (g / s) * (t - t0) - ((v0 - g / s) / s) * (1 - q);
            		accel = g - s * vitesse; 
            		  if(vitesse> vitesseDuSon && aFelixDepasse){
                		  System.out.println("## Felix depasse la vitesse du son");
                		  aFelixDepasse = false;
                	  }
                      if(accel < 0.5 && estFelixMaximale){
                    	  System.out.println("## Felix a atteint sa vitesse maximale");
                    	  estFelixMaximale = false;
                      }
                      if(hauteur> 2500){
                    	  System.out.format("%.0f, %.4f, %.4f, %.5f\n",
                                  t, hauteur, vitesse, accel);	
                      }
            			
          }
          else{
        	  if(t==0){
  				  t++;
  			  }
      		  if(parachuteOuverte){
    			  System.out.println("## Felix ouvre son parachute");
			  	  parachuteOuverte = false;
			  	  momentDelOuverture = t + 1;
    		  }
      		  
      		  else{
      			  if(t == momentDelOuverture){
      				  h0 = hauteur;
      				  v0 = vitesse;
      				  t0 = t-1;
      				  surface = 25.0;
      				  momentDelOuverture=-1;
      			  }
      			
    			  s = surface/masse;
    		      q = Math.exp((-s) * (t - t0));
    		      vitesse = (g / s) * (1 - q) + (v0 * q);
    		      hauteur = h0 - (g / s) * (t - t0) - ((v0 - g / s) / s) * (1 - q);
    		      accel = g - s * vitesse;
    		      
    			  if(vitesse> vitesseDuSon && aFelixDepasse){
    	    		  System.out.println("## Felix depasse la vitesse du son");
    	    		  aFelixDepasse = false;
    	    	  }
    	          if(accel < 0.5 && estFelixMaximale){
    	        	  System.out.println("## Felix a atteint sa vitesse maximale");
    	        	  estFelixMaximale = false;
    	          }
    		      if(hauteur>0){
    		    	  System.out.format("%.0f, %.4f, %.4f, %.5f\n",
                              t, hauteur, vitesse, accel);
    		      }
    		      t++;
    		  }
    	  } 
        }   // Utilisez cette ligne pour l'affichage
          
        /*******************************************
         * Ne rien modifier apres cette ligne.
         *******************************************/
    }
}